Boto3 হল Amazon Web Services (AWS) এর জন্য Python SDK, যা AWS সেবা যেমন EC2, S3, DynamoDB, RDS ইত্যাদি ব্যবহার করতে সাহায্য করে। Python এর মাধ্যমে Boto3 ব্যবহার করে আপনি Amazon RDS ডেটাবেস ইনস্ট্যান্স তৈরি, কনফিগার, মনিটর এবং ম্যানেজ করতে পারেন।
এখানে Boto3 ব্যবহার করে Amazon RDS ডেটাবেস পরিচালনার জন্য কিছু সাধারণ কাজ দেখানো হল:
প্রথমে, আপনাকে Boto3 প্যাকেজটি ইনস্টল করতে হবে:
pip install boto3
AWS রিসোর্স ব্যবহার করার জন্য আপনাকে আপনার AWS Access Key এবং Secret Key কনফিগার করতে হবে। আপনি এগুলি AWS IAM থেকে পেতে পারেন। এরপর, আপনাকে Boto3 কে AWS ক্রেডেনশিয়াল দেখানোর জন্য aws configure
কমান্ডটি চালাতে হবে:
aws configure
এটি আপনাকে Access Key ID, Secret Access Key, Region, এবং Output Format ইনপুট দিতে বলবে।
আপনার কোডে, Boto3 ব্যবহার করে একটি নতুন RDS ইন্সট্যান্স তৈরি করার উদাহরণ:
import boto3
# Boto3 রিসোর্স বা ক্লায়েন্ট তৈরি করা
rds_client = boto3.client('rds')
# RDS ইনস্ট্যান্স তৈরি করা
response = rds_client.create_db_instance(
DBInstanceIdentifier='my-db-instance', # ইনস্ট্যান্সের নাম
DBInstanceClass='db.t3.micro', # ইনস্ট্যান্স ক্লাস
Engine='mysql', # ডাটাবেস ইঞ্জিন (mysql, postgres, aurora ইত্যাদি)
MasterUsername='admin', # অ্যাডমিন ইউজার
MasterUserPassword='password123', # পাসওয়ার্ড
AllocatedStorage=20, # স্টোরেজ আকার (GB)
VpcSecurityGroupIds=['sg-xxxxxxxx'], # VPC সিকিউরিটি গ্রুপ আইডি
BackupRetentionPeriod=7, # ব্যাকআপ রাখার দিন সংখ্যা
AvailabilityZone='us-east-1a', # অ্যাভেইলেবিলিটি জোন
)
print(response)
আপনি যদি কোনো স্ন্যাপশট থেকে ডেটাবেস রিস্টোর করতে চান, তবে নিচের কোড ব্যবহার করতে পারেন:
import boto3
# Boto3 রিসোর্স বা ক্লায়েন্ট তৈরি করা
rds_client = boto3.client('rds')
# স্ন্যাপশট থেকে ডেটাবেস রিস্টোর করা
response = rds_client.restore_db_instance_from_db_snapshot(
DBInstanceIdentifier='restored-db-instance', # নতুন ইনস্ট্যান্সের নাম
DBSnapshotIdentifier='my-db-snapshot', # স্ন্যাপশট আইডি
)
print(response)
RDS ইনস্ট্যান্সের স্ট্যাটাস বা সিস্টেম ইনফরমেশন চেক করতে:
import boto3
# Boto3 রিসোর্স বা ক্লায়েন্ট তৈরি করা
rds_client = boto3.client('rds')
# ইনস্ট্যান্সের তথ্য পাওয়ার জন্য describe_db_instances() ব্যবহার করা
response = rds_client.describe_db_instances()
for db_instance in response['DBInstances']:
print(f"DB Instance Identifier: {db_instance['DBInstanceIdentifier']}")
print(f"DB Instance Status: {db_instance['DBInstanceStatus']}")
যদি আপনি কোনো ইনস্ট্যান্স মুছে ফেলতে চান:
import boto3
# Boto3 রিসোর্স বা ক্লায়েন্ট তৈরি করা
rds_client = boto3.client('rds')
# RDS ইনস্ট্যান্স মুছে ফেলা
response = rds_client.delete_db_instance(
DBInstanceIdentifier='my-db-instance', # মুছে ফেলার ইনস্ট্যান্সের নাম
SkipFinalSnapshot=True # স্ন্যাপশট না নেওয়ার জন্য
)
print(response)
RDS ইনস্ট্যান্সের মেট্রিকস যেমন CPU ব্যবহার, ডিস্ক I/O, মেমরি ব্যবহার মনিটর করতে CloudWatch ব্যবহার করা হয়:
import boto3
# Boto3 ক্লায়েন্ট তৈরি করা
cloudwatch_client = boto3.client('cloudwatch')
# RDS ইনস্ট্যান্সের মেট্রিকস চেক করা
response = cloudwatch_client.get_metric_data(
MetricDataQueries=[
{
'Id': 'cpu_utilization',
'MetricStat': {
'Metric': {
'Namespace': 'AWS/RDS',
'MetricName': 'CPUUtilization',
'Dimensions': [
{
'Name': 'DBInstanceIdentifier',
'Value': 'my-db-instance'
}
]
},
'Period': 60,
'Stat': 'Average',
},
'ReturnData': True,
},
],
StartTime='2023-10-01T00:00:00Z',
EndTime='2023-10-02T00:00:00Z',
)
print(response)
আপনি RDS ইনস্ট্যান্সের একটি স্ন্যাপশট তৈরি করতে পারেন:
import boto3
# Boto3 ক্লায়েন্ট তৈরি করা
rds_client = boto3.client('rds')
# ইনস্ট্যান্সের স্ন্যাপশট তৈরি করা
response = rds_client.create_db_snapshot(
DBSnapshotIdentifier='my-db-snapshot', # স্ন্যাপশটের নাম
DBInstanceIdentifier='my-db-instance', # ডাটাবেস ইনস্ট্যান্সের নাম
)
print(response)
Boto3 SDK ব্যবহার করে আপনি Amazon RDS ডাটাবেস ইনস্ট্যান্স তৈরি, কনফিগার, পরিচালনা এবং মনিটর করতে পারেন। এটি অত্যন্ত শক্তিশালী এবং নমনীয় একটি টুল, যা আপনার AWS রিসোর্সকে অটোমেট করতে সাহায্য করবে। Python দিয়ে RDS ইন্সট্যান্স পরিচালনা করার মাধ্যমে আপনি AWS রিসোর্সের কার্যক্রম সহজ এবং দ্রুত করতে পারেন।
আরও দেখুন...